Exibi os números primos de um numero recebido pelo usuário, sem estrutura de repetição
Publicado por Edmar Wantuil (última atualização em 22/11/2011)
[ Hits: 2.102 ]
Homepage: wantuil.com
Escrevi esse código para testar os números primos <= de um numero recebido pelo usuário.
Economizado o máximo de processos possíveis e sem utilizar estrutura de repetição apenas recursividade.
/* Feito por Edmar Wantuil Silva Júnior Em 14 de novembro de 2011 */ #include <stdio.h> #include <stdlib.h> #include <stdbool.h> //Função testa se é primo ele testa até encrontar um divisor o achando ele para o teste, pois já saberemos que ele é primo int testa_primo(int numero, int divisor) { //Ira testar somente até a metade do numero pois sabemos que após a metade do nuemro so existe o proprio numero como divisor if((numero / 2) < divisor) return 0; //Se achar qualquer divisor o teste irá parar pois o numero não é mais primo if(numero % divisor == 0) return 1; else return testa_primo(numero,divisor + 1); } //Essa função chama a função testa primo e retorna true caso primo bool primo(numero) { //vamos passar o numero 2 como o primeiro divisor pois sabemos que todos os numeros são divisiveis assim se retornar 0 ele sera primo if(testa_primo(numero,2) == 0) return true; else return false; } //Essa função chama ela mesma até numero = cont void primos(int numero, int cont) { if(primo(cont) == true) printf("%d\n", cont); if(numero > cont) primos(numero, cont + 1); return; } //Função principal int main() { int numero= 0; printf("Numero: "); scanf("%d",&numero); primos(numero, 1); primo(numero); return 0; }
MeikeNeime - Programa gerador de nomes aleatórios
Preloader.c - Adaptação do Tarik Ahmad (Thiago Alexandre) para linux
Nenhum coment�rio foi encontrado.
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Olha que Conky "bunitinhu" pra usar no seu sistema
Git config não aplica configurações
O que você quer para sua vida ao usar o Linux?
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
warsaw parou de funcionar após atualização do sistema (solução) (10)
Aprendendo mais sobre Linux com livro (4)
eu estou tendo um problema no ChimeraOS e no Bazzite (0)
samba4 versao 4.22.3 usuario nao consegue trocar a senha (4)